package br.ufrn.sipac.patrimonio.coletor.activity;

import java.util.ArrayList;
import java.util.List;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import br.ufrn.sipac.patrimonio.coletor.R;

/**
 * Activity que exibe os dados de configuração do servidor.
 * 
 * @author Giuliana Silva Bezerra
 * 
 */
public class ConfiguracaoActivity extends Activity {
	private Button voltar;
	private Spinner certificado;
	private List<String> listaCertificados = new ArrayList<String>();

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_configuracao);

		// Mapear os componente da tela
		voltar = (Button) findViewById(R.id.button4);
		certificado = (Spinner) findViewById(R.id.spinner1);

		// Adiciona os certificados
		listaCertificados.add("--SELECIONE--");

		// Cria um ArrayAdapter usando um padrão de layout da classe R do
		// android, passando o ArrayList com as finalidades e as unidades
		ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,
				android.R.layout.simple_spinner_dropdown_item,
				listaCertificados);
		arrayAdapter
				.setDropDownViewResource(android.R.layout.simple_spinner_item);
		certificado.setAdapter(arrayAdapter);

		// Adicionar listeners
		voltar.setOnClickListener(new MenuListener());
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.configuracao, menu);
		return true;
	}
	
	/**
	 * Carrega menu da aplicação.
	 */
	private void iniciaMenu() {
		finish();
		Intent intent = new Intent(this, MenuActivity.class);
		startActivity(intent);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch (item.getItemId()) {
		case R.id.item2:
			iniciaMenu();
		case R.id.item1:
			finish();
		}
		return false;
	}

	/**
	 * Carrega um seletor de arquivos da aplicação.
	 */
	private void carregaConfiguracoesSalvas() {
		// TODO Implement:
		// 1 - Definir carregamento dessas configurações (arquivos, banco, ?)
		// 2 - Caso sejam arquivos definir diretorio padrão e formato
		// 3 - Para arquivos ou dados do banco, definir visualização
	}

	/************************************ Listeners ******************************************************/

	/**
	 * Listener que carrega o menu principal.
	 */
	public class MenuListener implements Button.OnClickListener {
		@Override
		public void onClick(View v) {
			iniciaMenu();
		}
	}
}
